import java.util.concurrent.Callable;

abstract class Shape {
    public abstract void draw();
}

class Rect extends Shape {

    @Override
    public void draw() {
        System.out.println("a");
    }
}
class Cycle extends Shape {

    @Override
    public void draw() {
        System.out.println("○");
    }
}

class Flower extends Shape {

    @Override
    public void draw() {
        System.out.println("❀");
    }
}

public class Test1 {
    public static void drawMap(Shape shape) {
        shape.draw();
    }

    public static void main(String[] args) {

        Cycle cycle = new Cycle();
        Flower flower = new Flower();
        drawMap(cycle);
        drawMap(flower);
        System.out.println("==================");

    }
}
